home *** CD-ROM | disk | FTP | other *** search
Wrap
#!/bin/bash ################################################################################### # UCK - Ubuntu Customization Kit # # Copyright (C) 2006-2009 UCK Team # # # # UCK is free software: you can redistribute it and/or modify # # it under the terms of the GNU General Public License as published by # # the Free Software Foundation, either version 3 of the License, or # # (at your option) any later version. # # # # UCK is distributed in the hope that it will be useful, # # but WITHOUT ANY WARRANTY; without even the implied warranty of # # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # # GNU General Public License for more details. # # # # You should have received a copy of the GNU General Public License # # along with UCK. If not, see <http://www.gnu.org/licenses/>. # ################################################################################### BUILD_DIR=`mktemp -d` function failure() { echo "$@" exit 1 } SCRIPT_DIR=`dirname "$0"` BOOT_LANG=`cat "$SCRIPT_DIR/livecd_locale"` REMASTER_HOME=$1 ISO_REMASTER_DIR="$REMASTER_HOME/remaster-iso" REMASTER_DIR="$REMASTER_HOME/remaster-root" pushd "$BUILD_DIR" || failure "Cannot change directory to $BUILD_DIR, error=$?" if [ -e "$REMASTER_DIR" ]; then cp -f /etc/resolv.conf "$REMASTER_DIR/etc/resolv.conf" || failure "Failed to copy resolv.conf to image directory, error=$?" cp -a "$SCRIPT_DIR/download-gfxboot-theme-ubuntu" "$REMASTER_DIR/tmp" chroot "$REMASTER_DIR" /tmp/download-gfxboot-theme-ubuntu || failure "Failed to fetch gfxboot-theme-ubuntu source, check if you have deb-src line enabled for repository main in /etc/apt/sources.list, error=$?" mv "$REMASTER_DIR/tmp/gfxboot-theme-ubuntu" "$BUILD_DIR" chroot "$REMASTER_DIR" rm /etc/resolv.conf /tmp/download-gfxboot-theme-ubuntu /tmp/gfxboot* else apt-get source gfxboot-theme-ubuntu || failure "Failed to fetch gfxboot-theme-ubuntu source, check if you have deb-src line enabled for repository main in /etc/apt/sources.list, error=$?" fi cd gfxboot-theme-ubuntu*/ LIVECD_LANGS=`cat "$SCRIPT_DIR/language_packs"` LANGPACKS_CONCATENATED="" for LANGPACK in $LIVECD_LANGS; do if [ -z "$LANGPACKS_CONCATENATED" ]; then LANGPACKS_CONCATENATED="$LANGPACK" else LANGPACKS_CONCATENATED="$LANGPACKS_CONCATENATED|$LANGPACK" fi done make DEFAULT_LANG="$BOOT_LANG" || failure "Failed to build gfxboot theme, error=$?" pushd boot #fix list of languages to contain all languages for which there are language packs on CD ls -1 *.tr | while read i ; do echo $(basename $i .tr) ; done | grep -E "^($LANGPACKS_CONCATENATED)\>(_.*)?" >langlist popd cp -af boot/* "$ISO_REMASTER_DIR/isolinux/" || failure "Error while copying boot files ( " boot/* " ) to $ISO_REMASTER_DIR/isolinux/, error=$?" popd if [ "$BUILD_DIR" = "/" ] ; then failure "Trying to remove root dir" else rm -rf "$BUILD_DIR" fi #copy kernel and initrd, in case it was changed during installation VMLINUZ=`ls -1 "$REMASTER_DIR"/boot/vmlinuz* | sort | tail -n1` if [ "$VMLINUZ" != "" ]; then INITRD="$REMASTER_DIR"/boot/initrd.img-$(echo `basename $VMLINUZ` | cut -d'-' -f 2-) if [ -e "$VMLINUZ" -a -e "$INITRD" ]; then echo "Updating kernel, kernel=$VMLINUZ, initrd=$INITRD" cp -f "$VMLINUZ" "$ISO_REMASTER_DIR/casper/vmlinuz" cp -f "$INITRD" "$ISO_REMASTER_DIR/casper/initrd.gz" else echo "Not updating kernel as initrd not present" fi fi